package com.xt.purchasingsystem.mapper;

import com.xt.purchasingsystem.model.MDesignProcedureDetails;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MDesignProcedureDetailsMapper {
    int deleteByPrimaryKey(Integer id);

    /**
     * 添加产品生产工序明细的方法
     *
     * @param record
     * @return
     */
    int insert(MDesignProcedureDetails record);

    /**
     * 根据产品生产工序编号查询此所以的产品生产工序明细集合
     * @param mDesignProcedureId
     * @return
     */
    List<MDesignProcedureDetails> queryAllByMDesignProcedureId(Integer mDesignProcedureId);

    /**
     * 根据编号修改产品生产工序明细 的工序物料设计标志的方法
     * G002-0: 未设计
     * G002-1: 已提交
     * G002-2: 已审核
     * @param id
     * @param designModuleTagValue
     * @return
     */
    int updateDesignModuleTag(@Param("id") Integer id, @Param("designModuleTagValue") String designModuleTagValue);

    int updateModuleSubtotal(@Param("id") Integer id, @Param("moduleSubtotal") Double moduleSubtotal);

    int insertSelective(MDesignProcedureDetails record);

    MDesignProcedureDetails selectByPrimaryKey(Integer id);

    /**
     * 根据编号修改产品生产工序明细 （字段不为空和！='' 时修改）
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(MDesignProcedureDetails record);

    int updateByPrimaryKey(MDesignProcedureDetails record);

    /**
     * 根据产品编号查询此产品所有工序及工序物料
     * @param productId
     * @return
     */
    List<MDesignProcedureDetails> getAllMDesignProcedureDetailsByProductId(String productId);
}